Object-oriented design patterns in Fortran 90/95: mazev1, mazev2 and mazev3
نویسندگان
چکیده
This paper discusses the concept, application, and usefulness of software design patterns for scientific programming in Fortran 90/95. An example from the discipline of object-oriented design patterns, that of a game based on navigation through a maze, is used to describe how some important patterns can be implemented in Fortran 90/95 and how the progressive introduction of design patterns can usefully restructure Fortran software as it evolves. This example is complemented by a discussion of how design patterns have been used in a real-life simulation of Particle-in-Cell plasma physics. The following patterns are mentioned in this paper: Factory, Strategy, Template, Abstract Factory and Facade.
منابع مشابه
Parallel Object-oriented Design in Fortran for Beam Dynamics Simulations∗
In this paper we describe an object-oriented software design approach, using Fortran 90 (F90) and the Message Passing Interface (MPI), for modeling the transport of intense charged particle beams. The object-oriented approach improves the maintainability, resuability, and extensibility of the software, while the use of explicit message passing provides the freedom necessary to achieve high perf...
متن کاملObject-oriented Scientific Programming with Fortran 90
Fortran 90 is a modern language that introduces many important new features beneficial for scientific programming. While the array-syntax notation has received the most attention, we have found that many modern softaware development techniques can be supported by this language, including object-oriented concepts. While Fortran 90 is not a full object-oriented language it can directly support ma...
متن کاملImplementation of Object-oriented Design with Fortran Language in Beam Dynamics Studies
In this paper, an object-oriented design for beam dynamics simulations in accelerators is implemented using Fortran language. Using module and derived type in F90, we can emulate object concept in the object-oriented design. This gives Fortran code a better maintainability, reusability, and extensibility. The overhead associated with the objectoriented implementation has only a minor effect on ...
متن کامل. co m p - ph ] 1 5 N ov 1 99 9 Object - oriented construction of a multigrid electronic - structure code with Fortran 90
We describe the object-oriented implementation of a higher-order finitedifference density-functional code in Fortran 90. Object-oriented models of grid and related objects are constructed and employed for the implementation of an efficient one-way multigrid method we have recently proposed for the density-functional electronic-structure calculations. Detailed analysis of performance and strateg...
متن کاملHigh-performance language interoperability for scientific computing through Babel
High-performance scientific applications are usually built from software modules written in multiple programming languages. This raises the issue of language interoperability which involves making calls between languages, converting basic types, and bridging disparate programming models. Babel provides a featurerich, extensible, high-performance solution to the language interoperability problem...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Computer Physics Communications
دوره 178 شماره
صفحات -
تاریخ انتشار 2008